<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>2 - Other OpenBSD Information Resources</title>
<link rev="made" href="mailto:www@openbsd.org">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="resource-type" content="document">
<meta name="description"   content="the OpenBSD FAQ page">
<meta name="keywords"      content="openbsd,faq">
<meta name="distribution"  content="global">
<meta name="copyright"     content="This document copyright 1998-2007 by OpenBSD.">
</head>

<body bgcolor="#ffffff" text="#000000">
<!-- Passes validator.w3.org, please keep it this way;
please, use a max of 72 chars per line -->

<a href="../index.html">
<img alt="[OpenBSD]" height=30 width=141 src="../images/smalltitle.gif" border="0">    
</a>
<p>
<font color="#0000e0">
<a href="index.html">[FAQ Index]</a>
<a href="faq1.html">[To Section 1 - Introduction to OpenBSD]</a>
<a href="faq3.html">[To Section 3 - Obtaining OpenBSD]</a>
</font>

<h1><font color="#e00000">2 - Other OpenBSD Information Resources</font></h1>
<hr>

<p>
<h3>Table of Contents</h3>
<ul>
<li><a href="#WebSites">2.1 - Web Pages</a>
<li><a href="#MailLists">2.2 - Mailing Lists</a>
<li><a href="#ManPages">2.3 - Manual Pages</a>
<li><a href="#Bugs">2.4 - Reporting Bugs</a>
</ul>

<hr>


<p>
<a name="WebSites"></a>
<h2>2.1 - Web Pages of Interest</h2>

<p>
The official website for the OpenBSD project is located at:
<a href="http://www.openbsd.org">http://www.OpenBSD.org</a>.

<p>
A lot of valuable information can be found here regarding all aspects of
the OpenBSD project. 

<p>
The <a href="http://www.undeadly.org">OpenBSD Journal</a> is an
OpenBSD-focused news and opinion site.  

<p>
<a href="http://www.openbsdsupport.org/">OpenBSDsupport.org</a> is a
site collecting "user maintained" documentation of varying quality, but
often covering topics not in this FAQ or other official documentation.

<p>
Many users have set up sites and pages with OpenBSD specific
information.
As with everything on the Internet, a good search engine is going to
make your life easier, as will a healthy dose of skepticism.
As always, do not blindly enter commands you do not understand into
your computer.


<p>
<a name="MailLists"></a>
<h2>2.2 - Mailing Lists</h2>

<p>
The OpenBSD project maintains several popular mailing lists which users
should subscribe to and follow. To subscribe to a mailing list, send an
e-mail message to
<a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>. That
address is an automated subscription service. In the body of your
message, on a single line, you should include a subscribe command for
the list you wish to join. For example:

<blockquote>
<pre>
<strong>subscribe announce</strong>
</pre>
</blockquote>

<p>
The list processor will reply to you, asking for confirmation of your
intent to join the list, so that others can not subscribe you to a flood
of unwanted e-mail.  The message will include instructions for several
different ways to confirm, including a
<a href="http://lists.openbsd.org">list server</a> web page link,
responding to the confirmation message or responding to
<tt>majordomo@openbsd.org</tt>.  Use whatever method is convenient to
you.  You will note that all three techniques involve a unique and time
limited identifying number, such as <tt>A56D-70D4-52C3</tt>, again to
make sure <i>you</i> are really the person who requested this mail list
subscription (this is <i>real</i> "opt-in").

<p>
Once you have confirmed your intent to join, you will be immediately
added to the list, and the list processor will notify you that you were
successfully added.

<p>
To unsubscribe from a list, you will again send an e-mail
message to
<a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>.
It might look like this:

<blockquote>
<pre>
<strong>unsubscribe announce</strong>
</pre>
</blockquote>

<p>
If you have any difficulties with the mailing list system, please first
read the help file which can be obtained by sending an e-mail message
to <a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a> with
a message body of "help".

<p>
Your subscription to the OpenBSD mail lists can also be maintained through
the web interface at
    <a href="http://lists.openbsd.org">http://lists.openbsd.org</a>

<p>
Some of the more popular OpenBSD mailing lists
are:

<p>
<ul>
    <li><b>announce</b> - Important announcements.  This is a
    low-volume list.
    <li><b>security-announce</b> - Announcements of security
    issues.  This is a low volume list.
    <li><b>misc</b> - General user questions and answers.
    This is the most active list, and should be the "default" for most
    questions.
    <li><b>bugs</b> - Bugs received via sendbug(1) and
    discussions about them.
    <li><b>source-changes</b> - Automated mailing of CVS
    source tree changes.  Every time a developer commits a change 
    to the OpenBSD source tree, <a href="../why-cvs.html">CVS</a> 
    will send out a copy of the (usually brief) commit message via
    this list.
    <li><b>ports</b> - Discussion of the OpenBSD Ports Tree.
    <li><b>ports-changes</b> - Automated mailing of
    ports-specific CVS source tree changes.
    <li><b>advocacy</b> - Discussion on advocating OpenBSD,
    and topics that are just too off-topic for <b>misc</b>.
</ul> 

<p>
Before posting a question on <b>misc</b> or any other mailing list, please
check the archives, for most common questions have been asked
repeatedly.  While it might be the first time you have encountered the
problem or question, others on the mailing lists may have seen the same
question several times in the last week, and may not appreciate seeing
it again. 
If asking a question possibly related to hardware, <i>always include a 
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dmesg&amp;sektion=8"
>dmesg(8)</a>!</i>

<p>
You can find several archives, other mailing list guidelines and more
information on the <a href="../mail.html">mailing lists page</a>.

<p>
An unofficial mailing list that may be of interest to new users
of OpenBSD and Unix is the  
<a href="http://mailman.theapt.org/listinfo/openbsd-newbies">OpenBSD
Newbies</a> list. 


<p> 
<a name="ManPages"></a>
<h2>2.3 - Manual Pages</h2>

<p>
OpenBSD comes with extensive documentation in the form of manual pages,
as well as longer documents relating to specific applications.
Considerable effort is made to make sure the man pages are up-to-date
and accurate.
In all cases, the man pages are considered the authoritative source of
information for OpenBSD.

<p>
<!-- XXXrelease -->
To access the manual pages and other documentation, be sure that you
installed the <tt>man43.tgz</tt> and <tt>misc43.tgz</tt> 
<a href="faq4.html#FilesNeeded">file sets</a>.

<p>
Here is a list of some of the most useful manual pages for new users:

<p>

<b>Getting Started</b>
<ul>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=afterboot&amp;sektion=8"
  >afterboot(8)</a></b> - things to check after the first complete boot.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=help&amp;sektion=1"
  >help(1)</a></b> - help for new users and administrators.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=hier&amp;sektion=7"
  >hier(7)</a></b> - layout of filesystems.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=man&amp;sektion=1"
  >man(1)</a></b> - display the on-line manual pages.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=1"
>intro(1)</a></b> - introduction to general commands, also see the intros to the other
  sections of the manual:
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=2">intro(2)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=3">intro(3)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=4&amp;arch=i386">intro(4)</a>
(note: intro(4) is <a href="../plat.html">platform</a> specific),
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=5">intro(5)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=6">intro(6)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=7">intro(7)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=8">intro(8)</a>,
and
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=9">intro(9)</a>.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=adduser&amp;sektion=8"
  >adduser(8)</a></b> - command for adding new users.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vipw&amp;sektion=8"
  >vipw(8)</a></b> - edit the master password file.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=disklabel&amp;sektion=8"
  >disklabel(8)</a></b> - read and write disk pack label.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=reboot&amp;sektion=8"
  >reboot, halt(8)</a></b> - stop and restart the system.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=shutdown&amp;sektion=8"
  >shutdown(8)</a></b> - close down the system at a given time.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dmesg&amp;sektion=8"
  >dmesg(8)</a></b> - redisplay the kernel boot messages

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sudo&amp;sektion=8"
  >sudo(8)</a></b> - don't log in as root, but run commands as root.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mg&amp;sektion=1"
		>mg(1)</a></b> - emacs-like text editor.

</ul>

<b>For more advanced users</b>
<ul>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=boot&amp;sektion=8&amp;arch=i386"
  >boot(8)</a></b> - system bootstrapping procedures.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=boot_config&amp;sektion=8"
  >boot_config(8)</a></b> - how to change kernel configuration at boot.
  
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc-local&amp;sektion=1"
  >gcc_local(1)</a></b> - OpenBSD-specific modifications to 
  <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc&amp;sektion=1">gcc(1)</a>

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ifconfig&amp;sektion=8"
  >ifconfig(8)</a></b> - configure network interface parameters.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=login.conf&amp;sektion=5"
  >login.conf(5)</a></b> - format of the login class configuration file.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=netstat&amp;sektion1"
  >netstat(1)</a></b> - show network status.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=release&amp;sektion=8"
 >release(8)</a></b> - build an OpenBSD release.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sendbug&amp;sektion=1"
  >sendbug(1)</a></b> - send a problem report (PR) about OpenBSD to a central support site.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=style&amp;sektion=9"
  >style(9)</a></b> - OpenBSD kernel source code style guide.

<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sysctl&amp;sektion=8"
  >sysctl(8)</a></b> - get or set kernel state.

</ul>

<p>
<!-- XXXrelease -->
You can find all the OpenBSD man pages on the web at 
<a href="http://www.openbsd.org/cgi-bin/man.cgi">http://www.openbsd.org/cgi-bin/man.cgi</a>
as well as on your computer if you install the <tt>man43.tgz</tt> file
set.

<p>
In general, if you know the name of a command or a manual page, you can
read it by executing <kbd>"man command"</kbd>. For example: <kbd>"man
vi"</kbd> to read about the vi editor. If you don't know the name of the
command, or if <kbd>"man command"</kbd> doesn't find the manual page,
you can search the manual page database by executing <kbd>"apropos
something"</kbd> or <kbd>"man -k something"</kbd>, where "something" is a
likely word that might appear in the title of the manual page you're
looking for. For example:

<blockquote>
<pre>
# <strong>apropos "time zone"</strong>
tzfile (5) - time zone information
zdump (8) - time zone dumper
zic (8) - time zone compiler
</pre>
</blockquote>

<p>
The parenthetical numbers indicate the section of the manual in which
that page can be found. In some cases, you may find manual pages with
identical names living in separate sections of the manual. For example,
assume that you want to know the format of the configuration files for
the cron daemon. Once you know the section of the manual for the page
you want, you would execute <kbd>"man n command"</kbd>, where n is the
manual section number. 

<blockquote>
<pre>
# <strong>man -k cron</strong>
cron (8) - clock daemon
crontab (1) - maintain crontab files for individual users
crontab (5) - tables for driving cron
# <strong>man 5 crontab</strong>
</pre>
</blockquote>

<p>
<!-- XXXrelease -->
In addition to the UNIX manual pages, there is a typesettable document
set (included in the <tt>misc43.tgz</tt> file set).
It lives in the <tt>/usr/share/doc</tt> directory.
You can
format each document set with a "make" in the appropriate subdirectory.
The <tt>psd</tt> subdirectory is the Programmer's Supplementary Documents
distribution. The <tt>smm</tt> subdirectory is the System Manager's Manual. The
<tt>usd</tt> subdirectory is the UNIX User's Supplementary Documents
distribution. You can perform your "<tt>make</tt>" in the three distribution
subdirectories, or you can select a specific section of a distribution
and do a `make' in its subdirectory.

<p>
Some of the subdirectories are empty.
By default, formatting the documents will result in PostScript
output, suitable for printing. The PostScript output can be quite large
-- you should assume a 250-300% increase in volume. If you do not have
access to a PostScript printer or display, you may also format the
documents for reading on a terminal display. Each document subdirectory
has a target for building ASCII copies of these papers (called `paper.txt')
which can be generated with
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=make&amp;sektion=1">make(1)</a>.
For example:

<blockquote>
<pre>
# <strong>cd /usr/share/doc/usd/04.csh</strong>
# <strong>make paper.txt</strong>
# <strong>more paper.txt</strong>
</pre>
</blockquote>

<p>
Note that superuser privileges may be required to build documents in these
directories, and that issuing <strong>make clean</strong> will remove any
papers generated by a previous make. See /usr/share/doc/README for more
details about the documents in /usr/share/doc/.

<p>
The UNIX manual pages are generally more current and trustworthy than
the typesettable documents. The typesettable documents sometimes explain
complicated applications in more detail than the manual pages do.

<p>
For many, having a hardcopy of the man page can be useful. Here are the
guidelines to making a printable copy of a man page.

<h3>How do I display a man page source file (i.e. one whose filename
ends in a number, like tcpdump.8)?</h3>

<p>
These are found throughout the src tree. The man pages are found in the
tree unformatted, and many times, through the use of
<a href="../anoncvs.html">CVS</a>, they will be updated. To view these
pages, simply:

<blockquote>
<pre>
# <b>nroff -Tascii -mandoc &lt;file&gt; | more</b>
</pre>
</blockquote>


<h3>How do I get a plain man page with no formatting or control
characters?</h3>

<p>
This is helpful to get the man page straight, with no non-printable
characters.<br>
Example:

<blockquote>
<pre>
# <b>man &lt;command&gt; | col -b</b>
</pre>
</blockquote>

<h3>How can I get a PostScript copy of a man page that's
print-ready?</h3>

<p>
Note that <tt>&lt;file&gt;</tt> must be the man page source file (probably a
file that ends in a number e.g. <tt>tcpdump.8</tt>). The PostScript versions of
the man pages look very nice. They can be printed or viewed on-screen
with a program like gv (GhostView). GhostView can be found in our
<a href="faq15.html">packages collection</a>. Use the following
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nroff&amp;sektion=1">nroff(1)</a>
command options for getting a PostScript version from an OpenBSD system
man page:

<blockquote>
<pre>
# <b>nroff -Tps -mandoc &lt;file&gt; &gt; outfile.ps</b>
</pre>
</blockquote>

<h3>How do I generate compressed copies of the man pages?</h3>

<p>
For people who build their system from source, there are a number of
options relating to the way in which man pages are built. These options
can be placed in /etc/mk.conf (it may be necessary to create this file)
and are included during system builds. One especially useful option is
to generate compressed man pages in order to save disk space. These can
be viewed in the normal way, using the man command. In order to set this,
add the following to <tt>/etc/mk.conf</tt>:

<blockquote>
<pre>
MANZ=yes
</pre>
</blockquote>

Another useful option is to have the system build generate man pages in
PostScript format, as well as ASCII text. This is done by setting the
option <tt>MANPS=yes</tt> in /etc/mk.conf. See
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mk.conf&amp;sektion=5">mk.conf(5)</a> for further details.

<h3>What are info files?</h3>

<p>
Some of the documentation for OpenBSD comes in the form of info files,
typically contained in <tt>/usr/share/info</tt>. This is an alternative form
of documentation provided by GNU. Many of these files are more up to date
than the manual pages provided by GNU, and can be accessed with the
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=info&amp;sektion=1">info(1)</a> command. For example, to view information about the GNU compiler,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc&amp;sektion=1">gcc(1)</a>,
type:

<blockquote>
<pre>
# <b>info gcc</b>
</pre>
</blockquote>

After using info, you will really appreciate our man pages!

<h3>How do I get color man pages on XTerm?</h3>

<p>
The default configuration file for
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=xterm&amp;sektion=1">xterm(1)</a> does not display color man pages.
In order to get color output, copy the file 
<tt>/etc/X11/app-defaults/XTerm-color</tt>
to your home directory, and rename it "<tt>.Xdefaults</tt>".
Be careful not to overwrite any current settings in "<tt>.Xdefaults</tt>".
This file contains all the settings you need to enable color in XTerm.
However, three lines need to be uncommented before this can work:

<blockquote>
<pre>
!*VT100*colorULMode: on
!*VT100*underLine: off
!*VT100*colorBDMode: on
</pre>
</blockquote>

The rest of this file allows you to choose colors for various settings.
The relevant ones to the man pages are:

<blockquote>
<pre>
*VT100*colorUL: yellow
*VT100*colorBD: white
</pre>
</blockquote>

That produces rather hellish looking man pages, so customise as necessary:
may we suggest red for "colorUL" and magenta for "colorBD"?

There is also a man page viewer for X11 available,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=xman&amp;sektion=1">xman(1)</a>,
which provides an alternative (graphical) interface to the manual pages.
See the manual pages for xterm and xman for more information.

<h3>How do I write my own manual page?</h3>

<p>
If you wish to write your own man page for an application you have written,
a tutorial is provided in
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mdoc.samples&amp;sektion=7">mdoc.samples(7)</a>. There is also a handy reference guide provided in
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mdoc&amp;sektion=7">mdoc(7)</a>.

<p>
<a name="Bugs"></a>
<h2>2.4 - Reporting Bugs</h2>

Before crying "Bug!", please make sure that is really what you are
dealing with.
If instead, you are not understanding how something is done in OpenBSD
or how it works, and can't find out how to resolve the problem using
the <a href="#ManPages">manual pages</a> or the OpenBSD website, 
use the <a href="#MailLists">mail lists</a> (usually misc@openbsd.org) to
request help.
If this is your first OpenBSD experience, be realistic: you probably did
not discover an unknown bug.
Also note that faulty hardware can mimic a software bug, please verify
the current condition of your hardware before deciding you have found
a "bug".

<p>
Finally, before submitting any bug report, please read 
<a href="../report.html">http://www.openbsd.org/report.html</a>.

<p>
Proper bug reporting is one of the most important responsibilities of
end users.  Very detailed information is required to diagnose most
serious bugs. Developers frequently get bugs reports via e-mail such as
this:
<p>
<table border=0 width="90%"><tr><td nowrap bgcolor="#EEEEEE"><pre>
From: joeuser@example.com
To: bugs@openbsd.org
Subject: HELP!!!

I have a PC and it won't boot!!!!! It's a 486!!!!!
</pre></td></tr></table>

<p>
Hopefully most people understand why such reports get summarily deleted.
All bug reports should contain detailed information. If Joe User had
really expected someone to help find this bug, he or she would have
supplied more information...  something like this:

<p>
<table border=0 width="90%"><tr><td nowrap bgcolor="#EEEEEE"><pre>
From: smartuser@example.com
To: bugs@openbsd.org
Subject: 3.3-beta panics on a SPARCStation2 

OpenBSD 3.2 installed from an official CD-ROM installed and ran fine
on this machine.

After doing a clean install of 3.3-beta from an FTP mirror, I find the
system randomly panics after a period of use, and predictably and
quickly when starting X.

This is the dmesg output:
 
OpenBSD 3.3-beta (GENERIC) #9: Mon Mar 17 12:37:18 MST 2003
    deraadt@sparc.openbsd.org:/usr/src/sys/arch/sparc/compile/GENERIC
real mem = 67002368
avail mem = 59125760
using 200 buffers containing 3346432 bytes of memory
bootpath: /sbus@1,f8000000/esp@0,800000/sd@1,0
mainbus0 (root): SUNW,Sun 4/75
cpu0 at mainbus0: CY7C601 @ 40 MHz, TMS390C602A FPU; cache chip bug
- trap page uncached
cpu0: 64K byte write-through, 32 bytes/line, hw flush cache enabled
memreg0 at mainbus0 ioaddr 0xf4000000
clock0 at mainbus0 ioaddr 0xf2000000: mk48t02 (eeprom)
timer0 at mainbus0 ioaddr 0xf3000000 delay constant 17
auxreg0 at mainbus0 ioaddr 0xf7400003
zs0 at mainbus0 ioaddr 0xf1000000 pri 12, softpri 6
zstty0 at zs0 channel 0 (console i/o)
zstty1 at zs0 channel 1
zs1 at mainbus0 ioaddr 0xf0000000 pri 12, softpri 6
zskbd0 at zs1 channel 0: reset timeout
zskbd0: no keyboard
zstty2 at zs1 channel 1: mouse
audioamd0 at mainbus0 ioaddr 0xf7201000 pri 13, softpri 4
audio0 at audioamd0
sbus0 at mainbus0 ioaddr 0xf8000000: clock = 20 MHz
dma0 at sbus0 slot 0 offset 0x400000: rev 1+
esp0 at sbus0 slot 0 offset 0x800000 pri 3: ESP100A, 25MHz, SCSI ID 7
scsibus0 at esp0: 8 targets
sd0 at scsibus0 targ 1 lun 0: &lt;SEAGATE, ST1480 SUN0424, 8628&gt; SCSI2 0/direct fixed
sd0: 411MB, 1476 cyl, 9 head, 63 sec, 512 bytes/sec, 843284 sec total
sd1 at scsibus0 targ 3 lun 0: &lt;COMPAQPC, DCAS-32160, S65A&gt; SCSI2 0/direct fixed
sd1: 2006MB, 8188 cyl, 3 head, 167 sec, 512 bytes/sec, 4110000 sec total
le0 at sbus0 slot 0 offset 0xc00000 pri 5: address 08:00:20:13:10:b9
le0: 16 receive buffers, 4 transmit buffers
cgsix0 at sbus0 slot 1 offset 0x0: SUNW,501-2325, 1152x900, rev 11
wsdisplay0 at cgsix0
wsdisplay0: screen 0 added (std, sun emulation)
fdc0 at mainbus0 ioaddr 0xf7200000 pri 11, softpri 4: chip 82072
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
root on sd0a
rootdev=0x700 rrootdev=0x1100 rawdev=0x1102


This is the panic I got when attempting to start X:

panic: pool_get(mclpl): free list modified: magic=78746572; page 0xfaa93000;
 item addr 0xfaa93000
Stopped at      Debugger+0x4:   jmpl            [%o7 + 0x8], %g0
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
pool_get(0xfaa93000, 0x22, 0x0, 0x1000, 0x102, 0x0) at pool_get+0x2c0
sosend(0x16, 0xf828d800, 0x0, 0xf83b0900, 0x0, 0x0) at sosend+0x608
soo_write(0xfac0bf50, 0xfac0bf70, 0xfac9be28, 0xfab93190, 0xf8078f24, 0x0)
at soo_write+0x18
dofilewritev(0x0, 0xc, 0xfac0bf50, 0xf7fff198, 0x1, 0xfac0bf70) at
dofilewritev+0x12c
sys_writev(0xfac87508, 0xfac9bf28, 0xfac9bf20, 0xf80765c8, 0x1000, 0xfac0bf70)
at sys_writev+0x50
syscall(0x79, 0xfac9bfb0, 0x0, 0x154, 0xfcffffff, 0xf829dea0) at syscall+0x220
slowtrap(0xc, 0xf7fff198, 0x1, 0x154, 0x1, 0xfac87508) at slowtrap+0x1d8
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT       COMMAND
 27765   8819  29550      0  3        0x86  netio      xconsole
  1668  29550  29550      0  3      0x4086  poll       fvwm
 15447  29550  29550      0  3     0x44186  poll       xterm
  8819  29550  29550     35  3      0x4186  poll       xconsole
  1238  29550  29550      0  3      0x4086  poll       xclock
 29550  25616  29550      0  3      0x4086  pause      sh
  1024  25523  25523      0  3     0x40184  netio      XFree86
*25523  25616  25523     35  2     0x44104             XFree86
 25616  30876  30876      0  3      0x4086  wait       xinit
 30876  16977  30876      0  3      0x4086  pause      sh
 16977      1  16977      0  3      0x4086  ttyin      csh
  5360      1   5360      0  3        0x84  select     cron
 14701      1  14701      0  3     0x40184  select     sendmail
 12617      1  12617      0  3        0x84  select     sshd
 27515      1  27515      0  3       0x184  select     inetd
  1904      1   1904      0  2        0x84             syslogd
  9125      1   9125      0  3        0x84  poll       dhclient
     7      0      0      0  3    0x100204  crypto_wa  crypto
     6      0      0      0  3    0x100204  aiodoned   aiodoned
     5      0      0      0  3    0x100204  syncer     update
     4      0      0      0  3    0x100204  cleaner    cleaner
     3      0      0      0  3    0x100204  reaper     reaper
     2      0      0      0  3    0x100204  pgdaemon   pagedaemon
     1      0      1      0  3      0x4084  wait       init
     0     -1      0      0  3     0x80204  scheduler  swapper

Thank you!
</pre></td></tr></table>

<p>
See <a href="../report.html">report.html</a> for more information on
creating and submitting bug reports. Detailed information about your
hardware is necessary if you think the bug <i>could be in any way</i>
related to your hardware or hardware configuration. Usually,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dmesg&amp;sektion=8">dmesg(8)</a>
output is sufficient in this respect.  A detailed description of your
problem is necessary.  You will note that the dmesg described the
hardware, the text explained why Smart User thought the system was not
broken, (ran 3.2 properly), how this crash was caused (starting X), and
the output of the debugger's "<tt>ps</tt>" and "<tt>trace</tt>"
commands.  In this case, Smart User provided output captured on a <a
href="faq7.html#SerCon">serial console</a>; if you can not do that, you
will have to use paper and pencil to record the crash. (This was a real
problem, and the information in the above report helped lead to a repair
of this issue which impacted Sun4c systems.)

<p>
If Smart User had a working OpenBSD system from which he wanted to submit
a bug report, he would have used the
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sendbug&amp;sektion=1">sendbug(1)</a>
utility to submit his bug report to the GNATS problem tracking system.
Obviously you can't use
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sendbug&amp;sektion=1">sendbug(1)</a>
when your system won't boot, but you should use it whenever possible.
You will still need to include detailed information about what happened,
the exact configuration of your system, and how to reproduce the
problem. The
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sendbug&amp;sektion=1">sendbug(1)</a>
command requires that your system be able to send electronic mail
successfully on the Internet. 
Note that the mail server uses
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=spamd&amp;sektion=8">spamd(8)</a>
based greylisting, so it may take half an hour or so before the mail 
server accepts your bug report, so please be patient.

<p>
After submitting a bug report via sendbug(1), you will be notified by
e-mail about the
status of the report.  You may be contacted by developers for additional
information or with patches that need testing.  You can also monitor the
archives of the <tt>bugs@openbsd.org</tt> mailing list, details on the
<a href="../mail.html">mailing list page</a>, or query the bug report
database status at the on-line
<a href="../query-pr.html">Bug Tracking System</a>.

<h3>More on getting useful info for developers</h3>
Here are a few additional tips:

<p>
<b>Lost the "Panic message"?</b><br>
Under some circumstances, you may lose the very first message of a
panic, stating the reason for the panic.
This is a very important message, so you want to report it, as well.
You can get this back by using the "show panic" command in ddb>
like this: 
<p>
<table border=0 width="90%"><tr><td nowrap bgcolor="#EEEEEE"><pre>
ddb> <b>show panic</b>
0:      kernel: page fault trap, code=0
ddb> 
</pre></td></tr></table>
<p>
In this case, the panic string was "Kernel: page fault trap, code=0"

<p>
<b>Special note for SMP systems:</b><br>
You should get a "trace" from each processor as part of your
report:

<p>
<table border=0 width="90%"><tr><td nowrap bgcolor="#EEEEEE"><pre>
ddb{0}> <b>trace</b>   
pool_get(d05e7c20,0,dab19ef8,d0169414,80) at pool_get+0x226
fxp_add_rfabuf(d0a62000,d3c12b00,dab19f10,dab19f10) at fxp_add_rfabuf+0xa5
fxp_intr(d0a62000) at fxp_intr+0x1e7
Xintr_ioapic0() at Xintr_ioapic0+0x6d
--- interrupt ---
idle_loop+0x21:
ddb{0}> <b>machine ddb 1</b>
Stopped at      Debugger+0x4:   leave
ddb{1}> <b>trace</b>
Debugger(d0319e28,d05ff5a0,dab1bee8,d031cc6e,d0a61800) at Debugger+0x4
i386_ipi_db(d0a61800,d05ff5a0,dab1bef8,d01eb997) at i386_ipi_db+0xb
i386_ipi_handler(b0,d05f0058,dab10010,d01d0010,dab10010) at i386_ipi_handler+0x
4a
Xintripi() at Xintripi+0x47
--- interrupt ---
i386_softintlock(0,58,dab10010,dab10010,d01e0010) at i386_softintlock+0x37
Xintrltimer() at Xintrltimer+0x47
--- interrupt ---
idle_loop+0x21:
ddb{1}> 
</pre></td></tr></table>

<p>
Repeat the "<tt>machine ddb x</tt>" followed by "<tt>trace</tt>" for
each processor in your machine.


<p>
<font color="#0000e0">
<a href="index.html">[FAQ Index]</a>
<a href="faq1.html">[To Section 1 - Introduction to OpenBSD]</a>
<a href="faq3.html">[To Section 3 - Obtaining OpenBSD]</a>
</font>

<p>
<hr>
<a href="index.html"><img height="24" width="24" src="../images/back.gif" border="0" alt="[back]"></a> 
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br>
<small>$OpenBSD: faq2.html,v 1.93 2008/04/30 21:24:58 nick Exp $</small>

</body>
</html>
